package com.yy.interface_.InnerClassExercise;

/**
 * chapter10  com.yy.interface_.InnerClassExercise
 * 2023-05-04 20:19
 *
 * @author yy yuyue
 * description : 不可描述
 * @date 2023/5/4 20:19
 */
public class InnerClassExercise02 {
    public static void main(String[] args) {

        /*
        1. 有一个铃声Bell, 里面有个ring(方法). (右图)
        2. 有一个手机Cellphone, 具有个alarmClock, 参数是Bell类型 (右图)
        3. 测试手机类的闹钟功能, 通过匿名内部类(对象)作文参数, 打印:懒猪起床了
        4. 再传入另一个匿名内部类(对象),  打印:小伙伴上课了
         */
        CellPhone cellPhone = new CellPhone();

        //
        cellPhone.alarmClock(new Bell() {
            @Override
            public void ring() {
                System.out.println("懒猪起床了!");
            }
        });

        cellPhone.alarmClock(new Bell() {
            @Override
            public void ring() {
                System.out.println("小伙伴上课了");
            }
        });
    }
}

interface Bell{ //接口
    void ring();//方法
}

class CellPhone{
    public void alarmClock(Bell bell){//形参是Bell接口类型
        bell.ring();
    }
}
